package com.cbgolf.oa.contract;

import com.cbgolf.oa.base.IBaseView;
import com.cbgolf.oa.event.EventOrder;
import com.cbgolf.oa.waiter.IBaseWaiter;

/**
 * 订单详情 契约
 *
 * @author lq
 * @date 2018/4/11
 */

public interface IOrderDetailsContract {

  interface IOrderDetailsWaiter extends IBaseWaiter {

    /**
     * 确认订单
     */
    void doSubmit();

    /**
     * 取消或拒绝订单
     */
    void doCancel();


  }

  interface IOrderDetailsView extends IBaseView<EventOrder> {

  }

  interface IOrderDetailsModel {

    /**
     * 获取订单数据
     *
     * @param isMatch 是否比赛订单
     */
    void requestData(String orderId, boolean isMatch);

    /**
     * 确认订单
     *
     * @param isHotel 是否酒店订单
     */
    void doSubmit(boolean isHotel, String orderId);

    /**
     * 取消或拒绝订单
     *
     * @param isHotel 是否酒店订单
     */
    void doCancel(boolean isHotel, String orderId);

  }

  interface IOrderDetailsPresenter {

    /**
     * 获取订单数据
     *
     * @param isMatch 是否比赛订单
     */
    void requestData(String orderId, boolean isMatch);

    /**
     * 确认订单
     *
     * @param isHotel 是否酒店订单
     */
    void doSubmit(boolean isHotel, String orderId);

    /**
     * 取消或拒绝订单
     *
     * @param isHotel 是否酒店订单
     */
    void doCancel(boolean isHotel, String orderId);


  }

}
